home *** CD-ROM | disk | FTP | other *** search
/ PC Open 101 / PC Open 101 CD 2.bin / CD2 / PDF / Corsi / PHP / lezione_1 / elenco-dir-due.php.bak < prev    next >
Encoding:
Text File  |  2004-06-22  |  2.2 KB  |  74 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2.  
  3. <html>
  4.     <head>
  5.     <title>Lista dei contenuti della cartella</title>
  6.     <style>
  7.     body {
  8.     background-color: #FFFF99;
  9.     }
  10.     span.dispari {
  11.     font-family: Arial;
  12.     font-size: 12px;    
  13.     color: #0000ff;
  14.     background-color: #FFCC66;
  15.     display: block;
  16.     }
  17.     span.pari {
  18.     font-family: Arial;
  19.     font-size: 12px;    
  20.     color: #0000ff;    
  21.     background-color: #99FF00;
  22.     display: block;
  23.     }
  24.     </style> 
  25.     </head>
  26.     <body>
  27.     <?php
  28.         $cartella=@opendir('immagini');
  29.     // verifico per prima cosa se la cartella esiste. Il simbolo @ davanti alla funzione impedisce la visualizzazione dei messaggi d'errore a video
  30.         if (!$cartella) 
  31.             {
  32.             echo "Attenzione: la cartella non esiste";
  33.             exit;
  34.             } 
  35.         while (false !== ($file = readdir($cartella))) 
  36.         // il ciclo while verrα iterato finchΦ la cartella non sarα stata interamente letta. Ad ogni iterazione $file assume il nome del file successivo
  37.             { 
  38.                // creo un array con i nomi dei file incontrati nella cartella
  39.             $lista[]=$file;
  40.             }
  41.         $fine=count($lista)-2;
  42.         if ($fine==0){
  43.             echo "Attenzione: Non ci sono immagini nella cartella";
  44.             }
  45.         else {
  46.             echo "<h4>La cartella 'immagini' contiene questi file:</h4><p>";
  47.             if ($fine%2==0) {
  48.             // controllo se nella cartella c'Φ un numero pari di immagini
  49.                 for ($i=2;$i<count($lista);$i=$i+2) {
  50.                 // il ciclo di for visualizza due file ad ogni iterazione
  51.                     $ordine=$i-1;
  52.                     $j=$i+1;
  53.                     echo "<span class='dispari'>File $ordine: $lista[$i]</span>";
  54.                     echo "<span class='pari'>File $i: $lista[$j]</span>";
  55.                     }
  56.                 }    
  57.             else {
  58.             // il numero di immagini Φ dispari, quindi devo aggiungere l'ultima riga dispari
  59.                 for ($i=2;$i<$fine;$i=$i+2) {
  60.                 // il ciclo for visualizza due file per ogni iterazione e si ferma prima dell'ultima immagine (posizione dispari)
  61.                     $ordine=$i-1;
  62.                     $j=$i+1;
  63.                     echo "<span class='dispari'>File $ordine: $lista[$i]</span>";
  64.                     echo "<span class='pari'>File $i: $lista[$j]</span>";
  65.                     }
  66.                 $j=$i-1;    
  67.                 echo "<span class='dispari'>File $j: $lista[$i]</span>";
  68.             }
  69.         }
  70.     closedir($cartella);    
  71.     ?>
  72.     </body>
  73. </html>
  74.